
<html>
  
  <HEAD>
    
    <link rel="stylesheet" href="style/default.css" type="text/css">
    
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  
    <title>JAXB RI 2.1.9 fcs -- 1.0.x Release Notes
    </title>
    <link rel="alternate" href="https://jaxb.dev.java.net/servlets/ProjectNewsRSS" type="application/rss+xml">
  </HEAD>

  
  <BODY>
    <h1>
      <banner>
    Java
        <sup>
          <font size="-2">TM</font>
        </sup> Architecture for XML Binding
  
      </banner>
      <br>
      1.0.x Release Notes 
    
    </h1>
    <center>
      <b>Implementation Version:</b> 2.1.9 fcs
      <br>
    </center>
    <table class="navbar" cellspacing="0">
      <tr>
        <td class="inactive">
          <a href="index.html">JAXB 2.0</a>
        </td>
        <td class="inactive">
          <a href="xjc.html">Tools</a>
        </td>
        <td class="active">
          <a>JAXB 1.0.x</a>
        </td>
        <td class="inactive">
          <a href="vendor.html">JAXB RI Extensions</a>
        </td>
        <td class="inactive">
          <a href="community.html">JAXB Community</a>
        </td>
      </tr>
    </table>
    <div class="subnavbar">
      <ul>
        <li class="first">
          <a href="jaxb-1_0.html">
            <span class="active">Release Notes </span>
          </a>
        </li>
        <li>
          <a href="changelog.html">
            <span>Changelog </span>
          </a>
        </li>
      </ul>
    </div>
    
    <header></header>

    
    <h2>Overview</h2>
    
    <p>JAXB 2.0 is backwards compatible with JAXB 1.0 - you can deploy your existing 1.0
       applications on the 2.0 runtime (provided that you also bundle the jaxb1-impl.jar)
       and they should run without modification. 
       
       In the event that you are unable to migrate to JAXB 2.0, XJC in JAXB 2.0 is also capable of effectively becoming XJC 1.0. That is, it can compile a schema in the same way JAXB 1.0.x used to compile. This document explains this aspect of XJC.


    
      <a name="changes"></a>
	
    
    <h2>Changelog</h2>
	
    <p>See the 
      <a href="changelog.html">changelog</a> document for a
	   comprehensive list of changes in the 1.0.x releases.
    

	
    <h2>Known Limitations of the bundled 1.0.x Release</h2>
	
    <p>The following list summarizes the known limitations of the JAXB 1.0.x runtime

	
    <p>Think you've found a new bug?
	   
      <a href="https://jaxb.dev.java.net/servlets/ProjectIssues">File an
	   issue</a> on java.net!
    

	
    <table border="0" width="75%">
      <tr>
        <td>
	
	
          <ul>
	    
            <li>The JAXB Specification does not require full W3C XML Schema support in version
	        1.0.  Please refer to Appendix E.2 for full details.</li>
		
            <li>Specifying large values for 
              <tt>maxOccurs</tt> attributes can cause
		    
              <tt>java.lang.OutOfMemoryError</tt>
            </li>
		
            <li>The 
              <tt>@enableFailFastCheck</tt> optional customization of
		    
              <tt>&lt;jaxb:globalBindings&gt;</tt> is not implemented yet. 
            </li>
		
            <li>Specifying HTML markup tags within 
              <tt>&lt;jaxb:javadoc&gt;</tt> customizations
		    requires you to enclose the data within a CDATA section or escape all
		    left angle brackets using "
              <tt>&amp;lt;</tt>".  See
		    
              <a href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-cdata-sect">XML 1.0 2nd
		    Edition</a> for more detail.  In addition, you must include &lt;
              <tt>body</tt>&gt; tags
		    when specifying javadoc under the 
              <tt>&lt;jaxb:package&gt;</tt> customization.
            </li>
		
            <li>The RI has some difficulty handling fixed attributes.  For example, the validator
		    does not detect errors when the XML data has a value different from the fixed
		    value defined for the attribute in the schema.</li>
			
            
            <li>Compilations of sufficiently large and/or complex schemas may fail with
		    
              <tt>java.lang.StackOverflowError</tt>. Try working around this problem by
		    increasing the native stack size. For example, to increase the stack size to 2 megabytes:
                    
              <blockquote>
                <tt>java -Xss2m</tt>
              </blockquote>
		    If you run out of memory, try increasing the maximum memory
		    size. For example, to increase the maximum memory to 128 megabytes:
                    
              <blockquote>
                <tt>java -Xmx128m</tt>
              </blockquote>
		
		
            </li>
            <li>The JAXB Specification currently does not address the thread safety of any of
		    the runtime classes.  In the case of the Sun JAXB RI, the 
              <tt>JAXBContext</tt>
		    class 
              <b>is</b> thread safe, but the 
              <tt>Marshaller</tt>, 
              <tt>Unmarshaller</tt>,
		    and 
              <tt>Validator</tt> classes 
              <b>are not</b> thread safe.
            </li>
		
		
            <li>In rare cases, you may see: "
              <tt>java.lang.Error: unable to load schema-for-schema
		for W3C XML Schema</tt>" while attempting to compile your schemas.
		If you see this error, try updating your version of J2SE SDK.
            </li>
		
            <li>If you are getting error messages like:
              <br>

              <pre>
[ERROR] Unable to load "CustomString" Is this class available in the classpath?
  line 15 of test.xsd
</pre>
            Make sure that the classes you are referencing in your 
              <tt>&lt;jxb:javaType&gt;</tt> and
            
              <tt>&lt;xjc:superClass&gt;</tt> customizations are compiled and added to the classpath
            via the "
              <tt>-classpath</tt>" command-line option for the
            
              <tt>xjc</tt> command.
        
            </li>
            <li>A new list of 
              <a href="xjc.html#restrictions">compiler
            restrictions</a> has been added to the binding compiler documentation.
            </li>
        
            <li>Under certain conditions, xjc may give this warning:
            
              <blockquote>
              
                <p>Unable to validate your schema. Most likely,
              the JVM has loaded an incompatible XML parser
              implementation. You should fix this before
              relying on the generated code.
              
                <p>Please see the release notes for details.
            
              </blockquote>

            
              <p>The usual condition is that a version of xercesImpl.jar (as might be bundled
            with ant, an IDE, or an AppServer e.g.) is in your CLASSPATH before the one
            shipped with the Java WSDP. This deters xjc from resolving dependencies it has
            on internal Xerces APIs.  In previous releases of JAXB, this error condition
            would manifest itself as an 
                <tt>IllegalAccessError</tt>.
              

            
              <p>To fix this, make sure the latest version of 
                <tt>xercesImpl.jar</tt>
            precedes any other version of Xerces in your CLASSPATH. Otherwise, xjc can't
            validate your schema and you shouldn't rely on the generated code.
              
            </li>
        
            <li>The fact that 
              <tt>javax.xml.bind.util.JAXBSource</tt> derives
            from 
              <tt>javax.xml.transform.sax.SAXSource</tt> is an implementation detail. Thus in
            general applications are strongly discouraged from accessing methods defined on
            
              <tt>SAXSource</tt>. In particular, the 
              <tt>setXMLReader</tt> and 
              <tt>setInputSource</tt>
            methods shall never be called.  The 
              <tt>XMLReader</tt> object obtained by the
            
              <tt>getXMLReader</tt> method shall be used only for parsing the 
              <tt>InputSource</tt>
            object returned by the 
              <tt>getInputSource</tt> method. Similarly the 
              <tt>InputSource</tt>
            object obtained by the 
              <tt>getInputSource</tt> method shall be used only for being
            parsed by the 
              <tt>XMLReader</tt> object returned by the 
              <tt>getXMLReader</tt>.
              <p>

            
              <p>For 
                <tt>javax.xml.bind.util.JAXBResult</tt>, applications are strongly discouraged
            from accessing methods defined on 
                <tt>javax.xml.transform.sax.SAXResult</tt>.  In
            particular it shall never attempt to call the 
                <tt>setHandler</tt>,
            
                <tt>setLexicalHandler</tt>, and 
                <tt>setSystemId</tt> methods.
              

            
              <p>These limitations will be incorporated into the next version of the javadocs.
	
            </li>
          </ul>
	
        </td>
      </tr>
    </table>

	
    <hr>
	
    <div class="footer">
	  $Revision: 1.1 $
      <br>
	  $Date: 2007/12/05 00:49:15 $
	
    </div>
  



  </BODY>
</html>